package net.alteiar.images;

import java.awt.Graphics2D;
import java.util.Observable;

public abstract class IDrawable extends Observable {
	// NEAREST_NEIGHBOR bad quality but really fast
	public static final int LOW_QUALITY = 0;
	// BILINEAR good quality and fast
	public static final int MEDIUM_QUALITY = 1;
	// BICUBIC is best quality but slow
	public static final int HIGH_QUALITY = 2;

	public final void draw(Graphics2D g2) {
		draw(g2, 1.0);
	}

	public abstract void draw(Graphics2D g2, double zoomFactor);

	public abstract int getWidth();

	public abstract int getHeight();
}
